import { IPSControlContainer } from '../ipscontrol-container';
import { IPSControlNavigatable } from '../ipscontrol-navigatable';
import { IPSMDAjaxControl } from '../ipsmdajax-control';
import { IPSLayoutPanel } from '../panel/ipslayout-panel';
import { IPSLanguageRes } from '../../res/ipslanguage-res';

/**
 *
 * 子接口类型识别属性[]
 * @export
 * @interface IPSList
 */
export interface IPSList extends IPSMDAjaxControl, IPSControlContainer, IPSControlNavigatable {
  /**
   * 无值显示内容
   * @type {string}
   */
  emptyText: string;

  /**
   * 无值内容语言资源
   *
   * @type {IPSLanguageRes}
   */
  getEmptyTextPSLanguageRes(): IPSLanguageRes | null;

  /**
   * 无值内容语言资源
   *
   * @type {IPSLanguageRes}
   */
  get emptyTextPSLanguageRes(): IPSLanguageRes | null;

  /**
   * 无值内容语言资源（必须存在）
   *
   * @type {IPSLanguageRes}
   */
  getEmptyTextPSLanguageResMust(): IPSLanguageRes;

  /**
   * 项布局面板
   *
   * @type {IPSLayoutPanel}
   */
  getItemPSLayoutPanel(): IPSLayoutPanel | null;

  /**
   * 项布局面板
   *
   * @type {IPSLayoutPanel}
   */
  get itemPSLayoutPanel(): IPSLayoutPanel | null;

  /**
   * 项布局面板（必须存在）
   *
   * @type {IPSLayoutPanel}
   */
  getItemPSLayoutPanelMust(): IPSLayoutPanel;
}
